/*********************************************************
 * 初学之家(http://www.g2room.com)，提供Java、Javascript（js）、Jquery、
 * 等一些工具或常用功能的实现例子代码，希望能给初学者提供学习和工作上的帮助，
 * 也希望有想提供源代码的朋友能联系我，一起努力，提供更多、更全面、更详细的
 * 一些初学代码例子及经验，帮助更多的人。
 * 
 * 我的联系方式：E-Mail：g2room@163.com
 * 网址：http://www.g2room.com
 * QQ：天涯（1173930590）
 * QQ交流群：323642758
 * 
 * 本站内容为提供各种java、javascript(JS)常用的工具源代码、实例（示例）、
 * 基本配置、教程、手册等；目前Java代码提供的工具（或转换）例子代码如下：
 * BASE64转换工具、bytes相关操作、email收发、文件操作（读写、拷贝、遍历、
 * 多线程copy等）、json格式转换、日志（Log4j）操作工具、Lucene搜索引擎的
 * 创建索引和搜索、各种不同Map的使用、定时器（Quartz）的使用例子、Socket的
 * 连接传输数据例子、WebService的例子及一些常用的工具类如String、Date及
 * JDK自带的一些工具类及函数的使用例子。
 * 
 * 说明：如需直接使用本站的例子代码，请保留此说明
 * 
 ********************************************************/
package com.g2room.test;

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 
 *
 * @createTime: Aug 20, 2013 7:03:31 PM
 * @author: <a href="mailto:g2room@163.com">天涯</a>
 * @version: 0.1
 * @lastVersion: 0.1
 * @updateTime: 
 * @updateAuthor: <a href="mailto:g2room@163.com">天涯</a>
 * @changesSum: 
 * 
 */
public class DataMain {
	public static int ss = 11;
	public static List<String> tempTid01 = new ArrayList<String>();
	static List<String> tempTid02 = new ArrayList<String>();
	static StringBuffer tids = new StringBuffer();
	static Map<String, Boolean> tempTid02Map = new HashMap<String, Boolean>();
	public static void main(String[] args) {
		DataMain dm = new DataMain();
		dm.readTxtFile("E:/var/test/send02.txt", 2);
		dm.readTxtFile("E:/var/test/send01.txt", 1);
		
		System.out.println("数据量=="+tids.length());
		try {
			writeTxtFile(tids.toString(), "E:/var/test/1.txt");
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	
	public void readTxtFile(String fielName, int type){
		String read;
        FileReader fileread;
        int j = 0;
        try {
            fileread = new FileReader(fielName);
            BufferedReader bufread = new BufferedReader(fileread);
            try {
            	int i = 0;
                while ((read = bufread.readLine()) != null) {
                	if(read.contains(" ")) {
                		read = read.substring(0, read.indexOf(" "));
	                	if(type==1){
	                		if(null == tempTid02Map.get(read)) {
	                			tids.append(read+",");
	                			j++;
	                		}
	                	} else {
	                		tempTid02Map.put(read, true);
	                	}
	                	if(i%5000 ==0)System.out.println(read);
	                	i++;
                	}
                }
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        System.out.println("============="+j);
    }
    
	
	/**
     * 写文件.
     * 
     */
    public static void writeTxtFile(String newStr, String  filename) throws IOException{
        //先读取原有文件内容，然后进行写入操作
        String filein = newStr;
        RandomAccessFile mm = null;
        try {
            mm = new RandomAccessFile(filename, "rw");
            mm.writeBytes(newStr);
        } catch (IOException e1) {
            // TODO 自动生成 catch 块
            e1.printStackTrace();
        } finally {
            if (mm != null) {
                try {
                    mm.close();
                } catch (IOException e2) {
                    // TODO 自动生成 catch 块
                    e2.printStackTrace();
                }
            }
        }
    }
}
